home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Complementary Applications 2004 February / SGI IRIX 6.5 Complementary Applications 2004 February.iso / dist / cde.idb / usr / dt / share / man / cat3 / XmPushButton.z.z / XmPushButton.z / XmPushButton
Encoding:
Text File  |  2003-11-18  |  29.6 KB  |  595 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV          XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.       _X_m_P_u_s_h_B_u_t_t_o_n - The PushButton    widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.       #include <Xm/PushB.h>
  13.  
  14.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.       PushButton issues commands within an application.  It
  16.       consists of a    text label or pixmap surrounded    by a border
  17.       shadow.  When    a PushButton is    selected, the shadow changes
  18.       to give the appearance that it has been pressed in.  When a
  19.       PushButton is    unselected, the    shadow changes to give the
  20.       appearance that it is    out.
  21.  
  22.       The default behavior associated with a PushButton in a menu
  23.       depends on the type of menu system in    which it resides.  By
  24.       default, _B_S_e_l_e_c_t controls the    behavior of the    PushButton.
  25.       In addition, _B_M_e_n_u controls the behavior of the PushButton
  26.       if it    resides    in a Menu system.  The actual mouse button
  27.       used is determined by    its RowColumn parent.
  28.  
  29.       Thickness for    a second shadow, used when the PushButton is
  30.       the default button,  may be specified    by using the
  31.       _X_m_N_s_h_o_w_A_s_D_e_f_a_u_l_t resource.  If it has    a non-zero value, the
  32.       Label's resources _X_m_N_m_a_r_g_i_n_L_e_f_t, _X_m_N_m_a_r_g_i_n_R_i_g_h_t,
  33.       _X_m_N_m_a_r_g_i_n_T_o_p,    and _X_m_N_m_a_r_g_i_n_B_o_t_t_o_m may    be modified to
  34.       accommodate the second shadow.
  35.  
  36.       If an    initial    value is specified for _X_m_N_a_r_m_P_i_x_m_a_p but    not
  37.       for _X_m_N_l_a_b_e_l_P_i_x_m_a_p, the _X_m_N_a_r_m_P_i_x_m_a_p value is    used for
  38.       _X_m_N_l_a_b_e_l_P_i_x_m_a_p.
  39.  
  40.     CCCCllllaaaasssssssseeeessss
  41.       PushButton inherits behavior and resources from _C_o_r_e,
  42.       _X_m_P_r_i_m_i_t_i_v_e, and _X_m_L_a_b_e_l Classes.
  43.  
  44.       The class pointer is _x_m_P_u_s_h_B_u_t_t_o_n_W_i_d_g_e_t_C_l_a_s_s.
  45.  
  46.       The class name is _X_m_P_u_s_h_B_u_t_t_o_n.
  47.  
  48.     NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  49.       The following    table defines a    set of widget resources    used
  50.       by the programmer to specify data.  The programmer can also
  51.       set the resource values for the inherited classes to set
  52.       attributes for this widget.  To reference a resource by name
  53.       or by    class in a .Xdefaults file, remove the _X_m_N or _X_m_C
  54.       prefix and use the remaining letters.     To specify one    of the
  55.       defined values for a resource    in a .Xdefaults    file, remove
  56.       the _X_m prefix    and use    the remaining letters (in either
  57.       lowercase or uppercase, but include any underscores between
  58.       words).  The codes in    the access column indicate if the
  59.       given    resource can be    set at creation    time (C), set by using
  60.  
  61.  
  62.  
  63.      Page 1                        (printed 11/11/03)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV          XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  71.  
  72.  
  73.  
  74.       _X_t_S_e_t_V_a_l_u_e_s (S), retrieved by    using _X_t_G_e_t_V_a_l_u_e_s (G), or is
  75.       not applicable (N/A).
  76.  
  77.                          XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  78.      NNNNaaaammmmeeee                   CCCCllllaaaassssssss                 TTTTyyyyppppeeee          DDDDeeeeffffaaaauuuulllltttt         AAAAcccccccceeeessssssss
  79.      __________________________________________________________________________________________________________________
  80.      XmNactivateCallback           XmCCallback             XtCallbackList      NULL             C
  81.      XmNarmCallback               XmCCallback             XtCallbackList      NULL             C
  82.      XmNarmColor               XmCArmColor             Pixel          dynamic         CSG
  83.      XmNarmPixmap               XmCArmPixmap             Pixmap          XmUNSPECIFIED_PIXMAP     CSG
  84.      XmNdefaultButtonShadowThickness   XmCDefaultButtonShadowThickness     Dimension      dynamic         CSG
  85.      XmNdisarmCallback               XmCCallback             XtCallbackList      NULL             C
  86.      XmNfillOnArm               XmCFillOnArm             Boolean      True             CSG
  87.      XmNmultiClick               XmCMultiClick             unsigned char      dynamic         CSG
  88.      XmNshowAsDefault               XmCShowAsDefault             Dimension      0             CSG
  89.  
  90.  
  91.       _X_m_N_a_c_t_i_v_a_t_e_C_a_l_l_b_a_c_k
  92.            Specifies the list of callbacks that is called when
  93.            PushButton is activated.     PushButton is activated when
  94.            the user    presses    and releases the active    mouse button
  95.            while the pointer is inside that    widget.     Activating
  96.            the PushButton also disarms it.    For this callback the
  97.            reason is _X_m_C_R__A_C_T_I_V_A_T_E.
  98.  
  99.       _X_m_N_a_r_m_C_a_l_l_b_a_c_k
  100.            Specifies the list of callbacks that is called when
  101.            PushButton is armed.  PushButton    is armed when the user
  102.            presses the active mouse    button while the pointer is
  103.            inside that widget.  For    this callback the reason is
  104.            _X_m_C_R__A_R_M.
  105.  
  106.       _X_m_N_a_r_m_C_o_l_o_r
  107.            Specifies the color with    which to fill the armed
  108.            button.    _X_m_N_f_i_l_l_O_n_A_r_m must be set to True for this
  109.            resource    to have    an effect.  The    default    for a color
  110.            display is a color between the background and the
  111.            bottom shadow color.  For a monochrome display, the
  112.            default is set to the foreground    color, and any text in
  113.            the label appears in the    background color when the
  114.            button is armed.
  115.  
  116.       _X_m_N_a_r_m_P_i_x_m_a_p
  117.            Specifies the pixmap to be used as the button face if
  118.            _X_m_N_l_a_b_e_l_T_y_p_e is _X_m_P_I_X_M_A_P    and PushButton is armed.  This
  119.            resource    is disabled when the PushButton    is in a    menu.
  120.  
  121.       _X_m_N_d_e_f_a_u_l_t_B_u_t_t_o_n_S_h_a_d_o_w_T_h_i_c_k_n_e_s_s
  122.            This resource specifies the width of the    default    button
  123.            indicator shadow.  If this resource is zero, the    width
  124.            of the shadow comes from    the value of the
  125.            _X_m_N_s_h_o_w_A_s_D_e_f_a_u_l_t    resource.  If this resource is greater
  126.  
  127.  
  128.  
  129.      Page 2                        (printed 11/11/03)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV          XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  137.  
  138.  
  139.  
  140.            than zero, the _X_m_N_s_h_o_w_A_s_D_e_f_a_u_l_t resource    is only    used
  141.            to specify whether this button is the default.  The
  142.            default value is    the initial value of _X_m_N_s_h_o_w_A_s_D_e_f_a_u_l_t.
  143.  
  144.       _X_m_N_d_i_s_a_r_m_C_a_l_l_b_a_c_k
  145.            Specifies the list of callbacks that is called when
  146.            PushButton is disarmed.    PushButton is disarmed when
  147.            the user    presses    and releases the active    mouse button
  148.            while the pointer is inside that    widget.     For this
  149.            callback, the reason is _X_m_C_R__D_I_S_A_R_M.
  150.  
  151.       _X_m_N_f_i_l_l_O_n_A_r_m
  152.            Forces the PushButton to    fill the background of the
  153.            button with the color specified by _X_m_N_a_r_m_C_o_l_o_r when the
  154.            button is armed and when    this resource is set to    True.
  155.            If False, only the top and bottom shadow    colors are
  156.            switched.  When the PushButton is in a menu, this
  157.            resource    is ignored and assumed to be False.
  158.  
  159.       _X_m_N_m_u_l_t_i_C_l_i_c_k
  160.            If a button click is followed by    another    button click
  161.            within the time span specified by the display's multi-
  162.            click time, and this resource is    set to
  163.            _X_m_M_U_L_T_I_C_L_I_C_K__D_I_S_C_A_R_D, do    not process the    second click.
  164.            If this resource    is set to _X_m_M_U_L_T_I_C_L_I_C_K__K_E_E_P, process
  165.            the event and increment cccclllliiiicccckkkk____ccccoooouuuunnnntttt in the callback
  166.            structure.  When    the button is in a menu, the default
  167.            is _X_m_M_U_L_T_I_C_L_I_C_K__D_I_S_C_A_R_D;    otherwise, for a button    not in
  168.            a menu, _X_m_M_U_L_T_I_C_L_I_C_K__K_E_E_P is the    default    value.
  169.  
  170.       _X_m_N_s_h_o_w_A_s_D_e_f_a_u_l_t
  171.            If _X_m_N_d_e_f_a_u_l_t_B_u_t_t_o_n_S_h_a_d_o_w_T_h_i_c_k_n_e_s_s is greater than
  172.            zero, a value greater than zero in this resource
  173.            specifies to mark this button as    the default button.
  174.            If _X_m_N_d_e_f_a_u_l_t_B_u_t_t_o_n_S_h_a_d_o_w_T_h_i_c_k_n_e_s_s is zero, a value
  175.            greater than zero in this resource specifies to mark
  176.            this button as the default button with the shadow
  177.            thickness specified by this resource.  The space
  178.            between the shadow and the default shadow is equal to
  179.            the sum of both shadows.     The default value is zero.
  180.  
  181.            When the    XmDisplay resource _d_e_f_a_u_l_t_B_u_t_t_o_n_E_m_p_h_a_s_i_s is
  182.            "external_highlight" (the default), the PushButton
  183.            draws the location cursor outside of the    outer shadow.
  184.            When this resource is "internal_highlight", the
  185.            highlight is drawn between the inner and    outer shadows.
  186.  
  187.            When the    _X_m_N_s_h_o_w_A_s_D_e_f_a_u_l_t value is not zero, the    Label
  188.            resources _X_m_N_m_a_r_g_i_n_L_e_f_t,    _X_m_N_m_a_r_g_i_n_R_i_g_h_t,    _X_m_N_m_a_r_g_i_n_T_o_p,
  189.            and _X_m_N_m_a_r_g_i_n_B_o_t_t_o_m may be modified to accommodate the
  190.            second shadow.  This resource is    disabled when the
  191.            PushButton is in    a menu.
  192.  
  193.  
  194.  
  195.      Page 3                        (printed 11/11/03)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV          XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  203.  
  204.  
  205.  
  206.     IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  207.       PushButton inherits behavior and resources from the
  208.       following superclasses.  For a complete description of each
  209.       resource, refer to the man page for that superclass.
  210.  
  211.                         XXXXmmmmLLLLaaaabbbbeeeellll    RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  212.      NNNNaaaammmmeeee             CCCCllllaaaassssssss                 TTTTyyyyppppeeee         DDDDeeeeffffaaaauuuulllltttt          AAAAcccccccceeeessssssss
  213.      ___________________________________________________________________________________________________________
  214.      XmNaccelerator         XmCAccelerator             String         NULL              CSG
  215.      XmNacceleratorText         XmCAcceleratorText         XmString         NULL              CSG
  216.      XmNalignment         XmCAlignment             unsigned char     dynamic          CSG
  217.      XmNfontList         XmCFontList             XmFontList         dynamic          CSG
  218.      XmNlabelInsensitivePixmap     XmCLabelInsensitivePixmap   Pixmap         XmUNSPECIFIED_PIXMAP      CSG
  219.      XmNlabelPixmap         XmCLabelPixmap             Pixmap         dynamic          CSG
  220.      XmNlabelString         XmCXmString             XmString         dynamic          CSG
  221.      XmNlabelType         XmCLabelType             unsigned char     XmSTRING          CSG
  222.      XmNmarginBottom         XmCMarginBottom         Dimension         dynamic          CSG
  223.      XmNmarginHeight         XmCMarginHeight         Dimension         2              CSG
  224.      XmNmarginLeft         XmCMarginLeft             Dimension         dynamic          CSG
  225.      XmNmarginRight         XmCMarginRight             Dimension         dynamic          CSG
  226.      XmNmarginTop         XmCMarginTop             Dimension         dynamic          CSG
  227.      XmNmarginWidth         XmCMarginWidth             Dimension         2              CSG
  228.      XmNmnemonic         XmCMnemonic             KeySym         NULL              CSG
  229.      XmNmnemonicCharSet         XmCMnemonicCharSet         String         XmFONTLIST_DEFAULT_TAG      CSG
  230.      XmNrecomputeSize         XmCRecomputeSize         Boolean         True              CSG
  231.      XmNstringDirection         XmCStringDirection         XmStringDirection     dynamic          CSG
  232.  
  233.  
  234.                      XXXXmmmmPPPPrrrriiiimmmmiiiittttiiiivvvveeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  235.      NNNNaaaammmmeeee             CCCCllllaaaassssssss             TTTTyyyyppppeeee        DDDDeeeeffffaaaauuuulllltttt               AAAAcccccccceeeessssssss
  236.      ________________________________________________________________________________________________
  237.      XmNbottomShadowColor    XmCBottomShadowColor    Pixel        dynamic               CSG
  238.      XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap        XmUNSPECIFIED_PIXMAP   CSG
  239.      XmNforeground         XmCForeground         Pixel        dynamic               CSG
  240.      XmNhelpCallback         XmCCallback         XtCallbackList    NULL               C
  241.      XmNhighlightColor         XmCHighlightColor         Pixel        dynamic               CSG
  242.      XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean        False               CSG
  243.      XmNhighlightPixmap         XmCHighlightPixmap         Pixmap        dynamic               CSG
  244.      XmNhighlightThickness   XmCHighlightThickness   Dimension        2               CSG
  245.      XmNnavigationType         XmCNavigationType         XmNavigationType    XmNONE               CSG
  246.      XmNshadowThickness         XmCShadowThickness         Dimension        2               CSG
  247.      XmNtopShadowColor         XmCTopShadowColor         Pixel        dynamic               CSG
  248.      XmNtopShadowPixmap         XmCTopShadowPixmap         Pixmap        dynamic               CSG
  249.      XmNtraversalOn         XmCTraversalOn         Boolean        True               CSG
  250.      XmNunitType         XmCUnitType         unsigned char    dynamic               CSG
  251.      XmNuserData         XmCUserData         XtPointer        NULL               CSG
  252.  
  253.  
  254.                            CCCCoooorrrreeee    RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  255.      NNNNaaaammmmeeee                 CCCCllllaaaassssssss                 TTTTyyyyppppeeee          DDDDeeeeffffaaaauuuulllltttt             AAAAcccccccceeeessssssss
  256.  
  257.  
  258.  
  259.  
  260.  
  261.      Page 4                        (printed 11/11/03)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV          XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  269.  
  270.  
  271.  
  272.      ______________________________________________________________________________________________________________
  273.      XmNaccelerators             XmCAccelerators             XtAccelerators   dynamic             CSG
  274.      XmNancestorSensitive         XmCSensitive             Boolean          dynamic             G
  275.      XmNbackground             XmCBackground             Pixel          dynamic             CSG
  276.      XmNbackgroundPixmap         XmCPixmap                 Pixmap          XmUNSPECIFIED_PIXMAP   CSG
  277.      XmNborderColor             XmCBorderColor             Pixel          XtDefaultForeground    CSG
  278.      XmNborderPixmap             XmCPixmap                 Pixmap          XmUNSPECIFIED_PIXMAP   CSG
  279.      XmNborderWidth             XmCBorderWidth             Dimension          0                 CSG
  280.      XmNcolormap             XmCColormap             Colormap          dynamic             CG
  281.      XmNdepth                 XmCDepth                 int          dynamic             CG
  282.      XmNdestroyCallback             XmCCallback             XtCallbackList   NULL             C
  283.      XmNheight                 XmCHeight                 Dimension          dynamic             CSG
  284.      XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True             C
  285.      XmNmappedWhenManaged         XmCMappedWhenManaged         Boolean          True             CSG
  286.      XmNscreen                 XmCScreen                 Screen *          dynamic             CG
  287.      XmNsensitive             XmCSensitive             Boolean          True             CSG
  288.      XmNtranslations             XmCTranslations             XtTranslations   dynamic             CSG
  289.      XmNwidth                 XmCWidth                 Dimension          dynamic             CSG
  290.      XmNx                 XmCPosition             Position          0                 CSG
  291.      XmNy                 XmCPosition             Position          0                 CSG
  292.  
  293.  
  294.     CCCCaaaallllllllbbbbaaaacccckkkk IIIInnnnffffoooorrrrmmmmaaaattttiiiioooonnnn
  295.       A pointer to the following structure is passed to each
  296.       callback:
  297.       typedef struct
  298.       {
  299.         int         rrrreeeeaaaassssoooonnnn;
  300.         _X_E_v_e_n_t   **** eeeevvvveeeennnntttt;
  301.         _i_n_t         cccclllliiiicccckkkk____ccccoooouuuunnnntttt;
  302.       } _X_m_P_u_s_h_B_u_t_t_o_n_C_a_l_l_b_a_c_k_S_t_r_u_c_t;
  303.  
  304.       rrrreeeeaaaassssoooonnnn
  305.            Indicates why the callback was invoked.
  306.  
  307.       eeeevvvveeeennnntttt
  308.            Points to the _X_E_v_e_n_t that triggered the callback.
  309.  
  310.       cccclllliiiicccckkkk____ccccoooouuuunnnntttt
  311.            This value is valid only    when the reason    is
  312.            _X_m_C_R__A_C_T_I_V_A_T_E.  It contains the number of clicks    in the
  313.            last multiclick sequence    if the _X_m_N_m_u_l_t_i_C_l_i_c_k resource
  314.            is set to _X_m_M_U_L_T_I_C_L_I_C_K__K_E_E_P, otherwise it contains _1.
  315.            The activate callback is    invoked    for each click if
  316.            _X_m_N_m_u_l_t_i_C_l_i_c_k is    set to _X_m_M_U_L_T_I_C_L_I_C_K__K_E_E_P.
  317.  
  318.     TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
  319.       XmPushButton includes    translations from Primitive.
  320.  
  321.       Note that altering translations in #_o_v_e_r_r_i_d_e or #_a_u_g_m_e_n_t
  322.       mode is undefined.
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                        (printed 11/11/03)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV          XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  335.  
  336.  
  337.  
  338.       Additional XmPushButton translations for XmPushButtons not
  339.       in a menu system are listed below.  These translations may
  340.       not directly correspond to a translation table.
  341.       BDrag    Press:     ProcessDrag()
  342.  
  343.       BSelect Press: Arm()
  344.       BSelect Click: Activate()
  345.              Disarm()
  346.       BSelect Release:Activate()
  347.              Disarm()
  348.       BSelect Press    2+:MultiArm()
  349.       BSelect Release 2+:MultiActivate()
  350.              Disarm()
  351.       KSelect:     ArmAndActivate()
  352.       KHelp:     Help()
  353.  
  354.       XmPushButton inherits    menu traversal translations from
  355.       XmLabel.  Additional XmPushButton translations for
  356.       PushButtons in a menu    system are listed below.  In a menu
  357.       system, _B_M_e_n_u    also performs the _B_S_e_l_e_c_t actions.  These
  358.       translations may not directly    correspond to a    translation
  359.       table.
  360.       BSelect Press: BtnDown()
  361.       BSelect Release:BtnUp()
  362.       KActivate:     ArmAndActivate()
  363.       KSelect:     ArmAndActivate()
  364.       MAny KCancel:     MenuShellPopdownOne()
  365.  
  366.     AAAAccccttttiiiioooonnnn RRRRoooouuuuttttiiiinnnneeeessss
  367.       The XmPushButton action routines are described below:
  368.  
  369.       _A_c_t_i_v_a_t_e():
  370.            This action draws the shadow in the unarmed state.  If
  371.            the button is not in a menu and if _X_m_N_f_i_l_l_O_n_A_r_m is set
  372.            to True,    the background color reverts to    the unarmed
  373.            color.  If _X_m_N_l_a_b_e_l_T_y_p_e is _X_m_P_I_X_M_A_P, the    _X_m_N_l_a_b_e_l_P_i_x_m_a_p
  374.            is used for the button face.  If    the pointer is still
  375.            within the button, this action calls the    callbacks for
  376.            _X_m_N_a_c_t_i_v_a_t_e_C_a_l_l_b_a_c_k.
  377.  
  378.       _A_r_m():
  379.            This action arms    the PushButton.     It draws the shadow
  380.            in the armed state.  If the button is not in a menu and
  381.            if _X_m_N_f_i_l_l_O_n_A_r_m is set to True, it fills    the button
  382.            with the    color specified    by _X_m_N_a_r_m_C_o_l_o_r.     If
  383.            _X_m_N_l_a_b_e_l_T_y_p_e is _X_m_P_I_X_M_A_P, the _X_m_N_a_r_m_P_i_x_m_a_p is used for
  384.            the button face.     It calls the _X_m_N_a_r_m_C_a_l_l_b_a_c_k
  385.            callbacks.
  386.  
  387.       _A_r_m_A_n_d_A_c_t_i_v_a_t_e():
  388.            In a menu, does the following:  Unposts all menus in
  389.            the menu    hierarchy.  Unless the button is already
  390.  
  391.  
  392.  
  393.      Page 6                        (printed 11/11/03)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV          XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  401.  
  402.  
  403.  
  404.            armed, calls the    _X_m_N_a_r_m_C_a_l_l_b_a_c_k callbacks.  Calls the
  405.            _X_m_N_a_c_t_i_v_a_t_e_C_a_l_l_b_a_c_k and _X_m_N_d_i_s_a_r_m_C_a_l_l_b_a_c_k callbacks.
  406.  
  407.            Outside a menu, does the    following:  Draws the shadow
  408.            in the armed state and, if _X_m_N_f_i_l_l_O_n_A_r_m is set to True,
  409.            fills the button    with the color specified by
  410.            _X_m_N_a_r_m_C_o_l_o_r.  If    _X_m_N_l_a_b_e_l_T_y_p_e is    _X_m_P_I_X_M_A_P, the
  411.            _X_m_N_a_r_m_P_i_x_m_a_p is used for    the button face.  Calls    the
  412.            _X_m_N_a_r_m_C_a_l_l_b_a_c_k callbacks.
  413.  
  414.            Outside a menu, this action also    arranges for the
  415.            following to happen, either immediately or at a later
  416.            time:  The shadow is drawn in the unarmed state and, if
  417.            _X_m_N_f_i_l_l_O_n_A_r_m is set to True, the    background color
  418.            reverts to the unarmed color.  If _X_m_N_l_a_b_e_l_T_y_p_e is
  419.            _X_m_P_I_X_M_A_P, the _X_m_N_l_a_b_e_l_P_i_x_m_a_p is used for    the button
  420.            face.  The _X_m_N_a_c_t_i_v_a_t_e_C_a_l_l_b_a_c_k and _X_m_N_d_i_s_a_r_m_C_a_l_l_b_a_c_k
  421.            callbacks are called.
  422.  
  423.       _B_t_n_D_o_w_n():
  424.            This action unposts any menus posted by the
  425.            PushButton's parent menu, disables keyboard traversal
  426.            for the menu, and enables mouse traversal for the menu.
  427.            It draws    the shadow in the armed    state and, unless the
  428.            button is already armed,    calls the _X_m_N_a_r_m_C_a_l_l_b_a_c_k
  429.            callbacks.
  430.  
  431.       _B_t_n_U_p():
  432.            This action unposts all menus in    the menu hierarchy and
  433.            activates the PushButton.  It calls the
  434.            _X_m_N_a_c_t_i_v_a_t_e_C_a_l_l_b_a_c_k callbacks and then the
  435.            _X_m_N_d_i_s_a_r_m_C_a_l_l_b_a_c_k callbacks.
  436.  
  437.       _D_i_s_a_r_m():
  438.            Calls the callbacks for _X_m_N_d_i_s_a_r_m_C_a_l_l_b_a_c_k.
  439.  
  440.       _H_e_l_p():
  441.            In a Pulldown or    Popup MenuPane,    unposts    all menus in
  442.            the menu    hierarchy and, when the    shell's    keyboard focus
  443.            policy is _X_m_E_X_P_L_I_C_T, restores keyboard focus to the
  444.            widget that had the focus before    the menu system    was
  445.            entered.     Calls the callbacks for _X_m_N_h_e_l_p_C_a_l_l_b_a_c_k if
  446.            any exist.  If there are    no help    callbacks for this
  447.            widget, this action calls the help callbacks for    the
  448.            nearest ancestor    that has them.
  449.  
  450.       _M_e_n_u_S_h_e_l_l_P_o_p_d_o_w_n_O_n_e():
  451.            In a toplevel Pulldown MenuPane from a MenuBar, unposts
  452.            the menu, disarms the MenuBar CascadeButton and the
  453.            MenuBar,    and, when the shell's keyboard focus policy is
  454.            _X_m_E_X_P_L_I_C_T, restores keyboard focus to the widget    that
  455.            had the focus before the    MenuBar    was entered.  In other
  456.  
  457.  
  458.  
  459.      Page 7                        (printed 11/11/03)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV          XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  467.  
  468.  
  469.  
  470.            Pulldown    MenuPanes, unposts the menu.
  471.  
  472.            In a Popup MenuPane, unposts the    menu and restores
  473.            keyboard    focus to the widget from which the menu    was
  474.            posted.
  475.  
  476.       _M_u_l_t_i_A_c_t_i_v_a_t_e():
  477.            If _X_m_N_m_u_l_t_i_C_l_i_c_k    is _X_m_M_U_L_T_I_C_L_I_C_K__D_I_S_C_A_R_D, this action
  478.            does nothing.
  479.  
  480.            If _X_m_N_m_u_l_t_i_C_l_i_c_k    is _X_m_M_U_L_T_I_C_L_I_C_K__K_E_E_P, this action does
  481.            the following:  Increments cccclllliiiicccckkkk____ccccoooouuuunnnntttt in the callback
  482.            structure.  Draws the shadow in the unarmed state.  If
  483.            the button is not in a menu and if _X_m_N_f_i_l_l_O_n_A_r_m is set
  484.            to True,    the background color reverts to    the unarmed
  485.            color.  If _X_m_N_l_a_b_e_l_T_y_p_e is _X_m_P_I_X_M_A_P, the    _X_m_N_l_a_b_e_l_P_i_x_m_a_p
  486.            is used for the button face.  If    the pointer is within
  487.            the PushButton, calls the callbacks for
  488.            _X_m_N_a_c_t_i_v_a_t_e_C_a_l_l_b_a_c_k.  Calls the callbacks for
  489.            _X_m_N_d_i_s_a_r_m_C_a_l_l_b_a_c_k.
  490.  
  491.       _M_u_l_t_i_A_r_m():
  492.            If _X_m_N_m_u_l_t_i_C_l_i_c_k    is _X_m_M_U_L_T_I_C_L_I_C_K__D_I_S_C_A_R_D, this action
  493.            does nothing.
  494.  
  495.            If _X_m_N_m_u_l_t_i_C_l_i_c_k    is _X_m_M_U_L_T_I_C_L_I_C_K__K_E_E_P, this action does
  496.            the following:  Draws the shadow    in the armed state.
  497.            If the button is    not in a menu and if _X_m_N_f_i_l_l_O_n_A_r_m is
  498.            set to True, fills the button with the color specified
  499.            by _X_m_N_a_r_m_C_o_l_o_r.    If _X_m_N_l_a_b_e_l_T_y_p_e    is _X_m_P_I_X_M_A_P, the
  500.            _X_m_N_a_r_m_P_i_x_m_a_p is used for    the button face.  Calls    the
  501.            _X_m_N_a_r_m_C_a_l_l_b_a_c_k callbacks.
  502.  
  503.       _P_r_o_c_e_s_s_D_r_a_g():
  504.            Drags the contents of a PushButton label, identified by
  505.            pressing    _B_D_r_a_g.    This action creates a DragContext
  506.            object whose _X_m_N_e_x_p_o_r_t_T_a_r_g_e_t_s resource is set to
  507.            "COMPOUND_TEXT" for a label type    of _X_m_S_T_R_I_N_G;
  508.            otherwise, "PIXMAP" if the label    type is    _X_m_P_I_X_M_A_P.
  509.            This action is undefined    for PushButtons    used in    a menu
  510.            system.
  511.  
  512.            This action is disabled if the XmDisplay's
  513.            _e_n_a_b_l_e_U_n_s_e_l_e_c_t_a_b_l_e_D_r_a_g resource is True.
  514.  
  515.     AAAAddddddddiiiittttiiiioooonnnnaaaallll BBBBeeeehhhhaaaavvvviiiioooorrrr
  516.       This widget has the additional behavior described below:
  517.  
  518.       <_E_n_t_e_r_W_i_n_d_o_w>:
  519.            In a menu, if keyboard traversal    is enabled, this
  520.            action does nothing.  Otherwise,    it draws the shadow in
  521.            the armed state and calls the _X_m_N_a_r_m_C_a_l_l_b_a_c_k callbacks.
  522.  
  523.  
  524.  
  525.      Page 8                        (printed 11/11/03)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV          XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  533.  
  534.  
  535.  
  536.            If the PushButton is not    in a menu and the cursor
  537.            leaves and then reenters    the PushButton's window    while
  538.            the button is pressed, this action draws    the shadow in
  539.            the armed state.     If _X_m_N_f_i_l_l_O_n_A_r_m is set    to True, it
  540.            also fills the button with the color specified by
  541.            _X_m_N_a_r_m_C_o_l_o_r.  If    _X_m_N_l_a_b_e_l_T_y_p_e is    _X_m_P_I_X_M_A_P, the
  542.            _X_m_N_a_r_m_P_i_x_m_a_p is used for    the button face.
  543.  
  544.       <_L_e_a_v_e_W_i_n_d_o_w>:
  545.            In a menu, if keyboard traversal    is enabled, this
  546.            action does nothing.  Otherwise,    it draws the shadow in
  547.            the unarmed state and calls the _X_m_N_d_i_s_a_r_m_C_a_l_l_b_a_c_k
  548.            callbacks.
  549.  
  550.            If the PushButton is not    in a menu and the cursor
  551.            leaves the PushButton's window while the    button is
  552.            pressed,    this action draws the shadow in    the unarmed
  553.            state.  If _X_m_N_f_i_l_l_O_n_A_r_m is set to True, the background
  554.            color reverts to    the unarmed color.  If _X_m_N_l_a_b_e_l_T_y_p_e is
  555.            _X_m_P_I_X_M_A_P, the _X_m_N_l_a_b_e_l_P_i_x_m_a_p is used for    the button
  556.            face.
  557.  
  558.     VVVViiiirrrrttttuuuuaaaallll    BBBBiiiinnnnddddiiiinnnnggggssss
  559.       The bindings for virtual keys    are vendor specific.  For
  560.       information about bindings for virtual buttons and keys, see
  561.       _V_i_r_t_u_a_l_B_i_n_d_i_n_g_s(_3_X).
  562.  
  563.      RRRREEEELLLLAAAATTTTEEEEDDDD IIIINNNNFFFFOOOORRRRMMMMAAAATTTTIIIIOOOONNNN
  564.       _C_o_r_e(_3_X), _X_m_C_r_e_a_t_e_P_u_s_h_B_u_t_t_o_n(_3_X), _X_m_D_i_s_p_l_a_y(_3_X),
  565.       _X_m_L_a_b_e_l(_3_X), _X_m_P_r_i_m_i_t_i_v_e(_3_X),    and _X_m_R_o_w_C_o_l_u_m_n(_3_X).
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.      Page 9                        (printed 11/11/03)
  592.  
  593.  
  594.  
  595.